#ifndef __LINKQUEUE_H_
#define __LINKQUEUE_H_
#include"DoubleLinkList.hpp"

template <typename T>
//class LinkQueue:public doubleLinkList<int>//继承模板的特化：已经是普通类了
class LinkQueue:public doubleLinkList<T>//继承了类模板的模板，仍是类模板
{
public:
    LinkQueue(){};
    ~LinkQueue(){};
    //类模板调用父类模板函数，需要声明父类模板
    void Push(const T&element)
    {
        doubleLinkList<T>::insertTail(element);//声明父类模板
    }
    void pop()
    {
       doubleLinkList<T>:: removeByIndex(0);
    }
    T&GetFront()
    {
        if(doubleLinkList<T>::Size()==0)
            throw"队列为空！\n";
        return doubleLinkList<T>:: findByIndex(0);
    }
    bool IsEmpty()
    {
        return doubleLinkList<T>::Size()==0;
    }







};


















#endif